﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>SoundPlay - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The SoundPlay function plays a sound, video, or other supported file type." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>SoundPlay</h1>

<p>播放音频, 视频或其他支持的文件类型.</p>

<pre class="Syntax"><span class="func">SoundPlay</span> Filename <span class="optional">, Wait</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>Filename</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p>要播放的文件的名称, 如果未指定绝对路径, 则假定在 <a href="../Variables.htm#WorkingDir">A_WorkingDir</a> 中.</p>
    <p>要发出标准的系统声音, 请指定星号后跟着数字, 如下所示. 注意: 在此模式中 <em>Wait</em> 参数没有效果.<br>
<strong>*-1</strong>: 简单的哔音. 如果声卡不可用, 则使用扬声器生成这个声音.<br>
<strong>*16</strong>: 手型(停止/错误声)<br>
<strong>*32</strong>: 问号声<br>
<strong>*48</strong>: 感叹声<br>
<strong>*64</strong>: 星号(消息声)</p>
    <p>已知限制: 由于 Windows 系统的限制, 路径超过 127 个字符的 WAV 文件将不会被播放. 要解决这个问题, 可以使用其他文件类型如 MP3(路径长度最多可以有 255 个字符) 或使用 8.3 短路径(如何检索这些路径, 请参阅 <a href="LoopFiles.htm#LoopFileShortPath">A_LoopFileShortPath</a>).</p>
  </dd>

  <dt>Wait</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a>或<a href="../Concepts.htm#boolean">整数(布尔值)</a></p>
    <p>如果省略, 则在播放文件时, 脚本的<a href="../misc/Threads.htm">当前线程</a>会移动到下一个语句. 要避免这种情况, 请指定 1 或单词 WAIT, 这会使得当前线程会等到文件播放结束后才继续执行. 即使在等待时, 新的<a href="../misc/Threads.htm">线程</a>可以通过<a href="../Hotkeys.htm">热键</a>, <a href="../objects/Menu.htm">自定义菜单</a>或<a href="SetTimer.htm">计时器</a>来启动.</p>
    <p>已知限制: 如果省略 <em>WAIT</em> 参数, 则操作系统可能认为播放的文件 &quot;正在使用中&quot;, 直到脚本关闭或播放另一个文件(甚至是不存在的文件).</p>
  </dd>

</dl>

<h2 id="Error_Handling">错误处理</h2>
<p>失败时抛出异常.</p>

<h2 id="Remarks">备注</h2>
<p>所有 Windows 操作系统应该都能播放 .wav 文件. 不过, 如果操作系统中没有安装正确的解码器或功能, 那么其他文件(.mp3, .avi, 等等) 可能无法播放.</p>
<p>如果在播放一个文件时当前脚本播放了第二个文件, 那么第一个文件会被停止后才可以播放第二个. 在一些系统中, 即使在另一个完全独立的脚本中播放新文件时, 某些文件类型也可能停止播放.</p>
<p>要停止当前正在播放的文件, 请对不存在的文件使用 SoundPlay, 例如: <code>SoundPlay "Nonexistent.avi"</code>.</p>
<p>如果脚本退出了, 那么任何由它启动的当前正在播放的文件将会停止.</p>
<h2 id="Related">相关</h2>
<p><a href="SoundBeep.htm">SoundBeep</a>, <a href="Sound.htm">Sound 函数</a>, <a href="MsgBox.htm">MsgBox</a>, <a href="../misc/Threads.htm">Threads</a></p>

<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a href="#ExBasic">#1</a></p>
<pre>SoundPlay A_WinDir "\Media\ding.wav"
SoundPlay "*-1"  <em>; 简单的哗哗声. 如果声卡不可用, 则使用扬声器生成这个声音.</em></pre>
</div>

</body>
</html>